Field of the Invention
The invention relates to a parity-check technique, and particularly relates to a low-density parity-check (LDPC) apparatus and a matrix trapping set breaking method.
Description of Related Art
Compared with a conventional hard disk device, a solid state driver (SSD) equipped with a flash memory has a fast read/write performance and low power consumption. The SSD is a commonly used data storage device. A SSD system (firmware or hardware) may perform a low-density parity-check (LDPC) encoding to original data to obtain an original codeword, and then write the codeword into the flash memory of the SSD. The SSD system (firmware or hardware) may further read the original codeword from the SSD, and then perform LDPC decoding to the original codeword to obtain original data.
A check matrix H for LDPC defines a relationship between a plurality of variable nodes (VNs) and a plurality of check nodes (CNs). The check matrix H may be determined according to an actual design requirement. An iteration operation of the LDPC decoding includes calculating V2C information transmitted from the VN to the CN according to C2V information, and calculating the C2V information transmitted from the CN to the VN according to the V2C information. Calculation detail of the V2C information and calculation detail of the C2V information belong to conventional technique, and detail thereof is not repeated.
Generally, the smaller the noise is, the smaller a bit error rate (BER) of the original codeword is, and the lower a frame error rate (FER) of the LDPC decoding is. In any case, the iteration operation of the LDPC decoding probably has a matrix trapping set phenomenon. When the matrix trapping set phenomenon is occurred, even if the BER is decreased, the FER of the LDPC decoding is not obviously decreased. Alternatively, even if the BER is decreased, a decreasing speed of the FER of the LDPC decoding is far less than a normal decreasing speed. Therefore, when the iteration operation falls into the matrix trapping set, the SSD requires to execute a matrix trapping set breaking operation, such that the iteration operation of the LDPC decoding is not kept trapping in an iteration loop of the matrix trapping set.